﻿Imports Tom0014
Imports Tom0014TableAdapters
Imports utileria
Partial Class Registro_tienta
    Inherits System.Web.UI.Page
    Dim _animal As New TientaTableAdapter
    Dim ponderaciones As New ponderacionesTableAdapter
    Dim CategoriasAdap As New catalogo_generalTableAdapter
    Dim categorias As New catalogo_generalDataTable
    Dim TientaCaballo As New TientaCaballoDataTable
    Dim AdapTientaCaballo As New TientaCaballoTableAdapter
    Dim TientaPie As New TientaPieDataTable
    Dim AdapTientaPie As New TientaPieTableAdapter
    Dim WithEvents claveAnimal As String
    Dim iAnimal As New Integer
    Dim utils As New utileria
    Dim Animal As New TientaDataTable
    Dim pondera As ponderacionesDataTable = ponderaciones.GetPonderacion
#Region "Cargar el catalogo para llenar los controles"
    Protected Sub Registro_tienta2_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
        ' Cargar el catalogo en memoria
        If Not IsPostBack Then
            utils.fillcatalogo()
            ddlTorero = utils.fillcatalogo(ddlTorero, "M")
            ddlPicador = utils.fillcatalogo(ddlPicador, "I")
            ddlPlaza = utils.fillcatalogo(ddlPlaza, "L")
            ddlTienta_Ac = utils.fillPondera(ddlTienta_Ac, "NOTAAC")
            ddlTienta_AP = utils.fillPondera(ddlTienta_AP, "NOTAAP")
            ddlRegresa1 = utils.fillPondera(ddlRegresa1, "REGRESA")
            ddlRegresa2 = utils.fillPondera(ddlRegresa2, "REGRESA")
            ddlRegresa3 = utils.fillPondera(ddlRegresa3, "REGRESA")
            ddlRegresa4 = utils.fillPondera(ddlRegresa4, "REGRESA")
            ddlRegresa5 = utils.fillPondera(ddlRegresa5, "REGRESA")
            ddlRegresa6 = utils.fillPondera(ddlRegresa6, "REGRESA")
            ddlRegresa7 = utils.fillPondera(ddlRegresa7, "REGRESA")
            ddlDistancia1 = utils.fillPondera(ddlDistancia1, "DISTANCIA")
            ddlDistancia2 = utils.fillPondera(ddlDistancia2, "DISTANCIA")
            ddlDistancia3 = utils.fillPondera(ddlDistancia3, "DISTANCIA")
            ddlDistancia4 = utils.fillPondera(ddlDistancia4, "DISTANCIA")
            ddlDistancia5 = utils.fillPondera(ddlDistancia5, "DISTANCIA")
            ddlDistancia6 = utils.fillPondera(ddlDistancia6, "DISTANCIA")
            ddlDistancia7 = utils.fillPondera(ddlDistancia7, "DISTANCIA")
            ddlSitio1 = utils.fillPondera(ddlSitio1, "SITIO")
            ddlSitio2 = utils.fillPondera(ddlSitio2, "SITIO")
            ddlSitio3 = utils.fillPondera(ddlSitio3, "SITIO")
            ddlSitio4 = utils.fillPondera(ddlSitio4, "SITIO")
            ddlSitio5 = utils.fillPondera(ddlSitio5, "SITIO")
            ddlSitio6 = utils.fillPondera(ddlSitio6, "SITIO")
            ddlSitio7 = utils.fillPondera(ddlSitio7, "SITIO")
            ddlAprieta1 = utils.fillPondera(ddlAprieta1, "APRIETA")
            ddlAprieta2 = utils.fillPondera(ddlAprieta2, "APRIETA")
            ddlAprieta3 = utils.fillPondera(ddlAprieta3, "APRIETA")
            ddlAprieta4 = utils.fillPondera(ddlAprieta4, "APRIETA")
            ddlAprieta5 = utils.fillPondera(ddlAprieta5, "APRIETA")
            ddlAprieta6 = utils.fillPondera(ddlAprieta6, "APRIETA")
            ddlAprieta7 = utils.fillPondera(ddlAprieta7, "APRIETA")
            ddlFijeza1 = utils.fillPondera(ddlFijeza1, "FIJEZA")
            ddlFijeza2 = utils.fillPondera(ddlFijeza2, "FIJEZA")
            ddlFijeza3 = utils.fillPondera(ddlFijeza3, "FIJEZA")
            ddlFijeza4 = utils.fillPondera(ddlFijeza4, "FIJEZA")
            ddlFijeza5 = utils.fillPondera(ddlFijeza5, "FIJEZA")
            ddlFijeza6 = utils.fillPondera(ddlFijeza6, "FIJEZA")
            ddlFijeza7 = utils.fillPondera(ddlFijeza7, "FIJEZA")
            ddlCabeza1 = utils.fillPondera(ddlCabeza1, "CABEZA")
            ddlCabeza2 = utils.fillPondera(ddlCabeza2, "CABEZA")
            ddlCabeza3 = utils.fillPondera(ddlCabeza3, "CABEZA")
            ddlCabeza4 = utils.fillPondera(ddlCabeza4, "CABEZA")
            ddlCabeza5 = utils.fillPondera(ddlCabeza5, "CABEZA")
            ddlCabeza6 = utils.fillPondera(ddlCabeza6, "CABEZA")
            ddlCabeza7 = utils.fillPondera(ddlCabeza7, "CABEZA")
            ddlDefiende1 = utils.fillPondera(ddlDefiende1, "DEFIENDE")
            ddlDefiende2 = utils.fillPondera(ddlDefiende2, "DEFIENDE")
            ddlDefiende3 = utils.fillPondera(ddlDefiende3, "DEFIENDE")
            ddlDefiende4 = utils.fillPondera(ddlDefiende4, "DEFIENDE")
            ddlDefiende5 = utils.fillPondera(ddlDefiende5, "DEFIENDE")
            ddlDefiende6 = utils.fillPondera(ddlDefiende6, "DEFIENDE")
            ddlDefiende7 = utils.fillPondera(ddlDefiende7, "DEFIENDE")
            ddlTomoV1 = utils.fillPondera(ddlTomoV1, "VARA")
            ddlTomoV2 = utils.fillPondera(ddlTomoV2, "VARA")
            ddlTomoV3 = utils.fillPondera(ddlTomoV3, "VARA")
            ddlTomoV4 = utils.fillPondera(ddlTomoV4, "VARA")
            ddlTomoV5 = utils.fillPondera(ddlTomoV5, "VARA")
            ddlTomoV6 = utils.fillPondera(ddlTomoV6, "VARA")
            ddlTomoV7 = utils.fillPondera(ddlTomoV7, "VARA")
            ddlmEmotividad = utils.fillPondera(ddlmEmotividad, "mEmotividad")
            ddlmFijeza = utils.fillPondera(ddlmFijeza, "mFijeza")
            ddlmRemata = utils.fillPondera(ddlmRemata, "mRemata")
            ddlmDesarrollo = utils.fillPondera(ddlmDesarrollo, "mDesarrollo")
            ddlmDistancia = utils.fillPondera(ddlmDistancia, "mDistancia")
            ddlmProntitud = utils.fillPondera(ddlmProntitud, "mProntitud")
            ddlmFuerza = utils.fillPondera(ddlmFuerza, "mFuerza")
            ddlmEnrazado = utils.fillPondera(ddlmEnrazado, "mEnrazado")
            ddlmFiereza = utils.fillPondera(ddlmFiereza, "mFiereza")
            ddlmGalope = utils.fillPondera(ddlmGalope, "mGalope")
            ddlmAlegria = utils.fillPondera(ddlmAlegria, "mAlegria")
            ddlmObediente = utils.fillPondera(ddlmObediente, "mObediente")
            ddlmGazapea = utils.fillPondera(ddlmGazapea, "mGazapea")
            ddlmEscarba = utils.fillPondera(ddlmEscarba, "mEscarba")
            ddlmQuerencia = utils.fillPondera(ddlmQuerencia, "mQuerencia")
            ddlmBerrea = utils.fillPondera(ddlmBerrea, "mBerrea")
            ddlmRectitud_D = utils.fillPondera(ddlmRectitud_D, "mRectitud_D")
            ddlmRectitud_I = utils.fillPondera(ddlmRectitud_I, "mRectitud_I")
            ddlmRepite_D = utils.fillPondera(ddlmRepite_D, "mRepite_D")
            ddlmRepite_I = utils.fillPondera(ddlmRepite_I, "mREpite_I")
            ddlmNobleza_D = utils.fillPondera(ddlmNobleza_D, "mNobleza_D")
            ddlmNobleza_I = utils.fillPondera(ddlmNobleza_I, "mNobleza_I")
            ddlmSon_D = utils.fillPondera(ddlmSon_D, "mSon_D")
            ddlmSon_I = utils.fillPondera(ddlmSon_I, "mSon_I")
            ddlmRepone_D = utils.fillPondera(ddlmRepone_D, "mRepone_D")
            ddlmRepone_I = utils.fillPondera(ddlmRepone_I, "mRepone_I")
            ddlmBajaCabeza = utils.fillPondera(ddlmBajaCabeza, "mBajaCabeza")
            ddlmRajado = utils.fillPondera(ddlmRajado, "mRajado")
            ddlmPases = utils.fillPondera(ddlmPases, "mPases")
            ddlmCabezas = utils.fillPondera(ddlmCabezas, "mCabeza")
            ddlmCabeza_D = utils.fillPondera(ddlmCabeza_D, "pCabeza")
            ddlmCabeza_I = utils.fillPondera(ddlmCabeza_I, "pCabeza")
            ddlmMano_D = utils.fillPondera(ddlmMano_D, "pManos")
            ddlmMano_I = utils.fillPondera(ddlmMano_I, "pManos")
            ddlmRecorrido2_D = utils.fillPondera(ddlmRecorrido2_D, "pRecorrido")
            ddlmRecorrido2_I = utils.fillPondera(ddlmRecorrido2_I, "pRecorrido")
            ddlmFinalizacion_D = utils.fillPondera(ddlmFinalizacion_D, "pFinalizacion")
            ddlmFinalizacion_I = utils.fillPondera(ddlmFinalizacion_I, "pFinalizacion")
        End If

    End Sub
#End Region
#Region "Asignar valores a controles"
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Try
            iAnimal = Request.QueryString("Animal") ' Solicitas el Id del Animal
        Catch ex As Exception
            iAnimal = 0
        End Try

        If Not iAnimal = 0 And Not IsPostBack Then
            Dim Animal As New TientaDataTable
            Animal = _animal.GetTientaByAnimal(iAnimal) ' Traes los datos del animal seleccionado

            If Animal.Count = 1 Then ' Verificas si existen registros del animal

                ' Asignar el encabezado
                hdClave.Value = Animal(0).claveSNLA
                lblAnimal.Text = Animal(0).claveSNLA + " " + Animal(0).nombre
                ddlTorero.SelectedValue = Animal(0).tienta_torero.ToString
                ddlPicador.SelectedValue = Animal(0).tienta_picador
                ddlPlaza.SelectedValue = Animal(0).tienta_plaza
                ddlTienta_Ac.SelectedValue = Animal(0).tienta_ac
                txtTientaACCal.Text = Animal(0).tienta_acCal
                ddlTienta_AP.SelectedValue = Animal(0).tienta_ap
                txtTientaAPCal.Text = Animal(0).tienta_apCal
                Try
                    txtFechaTienta.Text = Animal(0).tienta_fecha
                Catch ex As Exception
                    txtFechaTienta.Text = ""
                End Try

                ' Asignacion de las tientas a Caballo
                TientaCaballo = AdapTientaCaballo.GetTientaCaballoByAnimal(iAnimal)
                GetVara(iAnimal, 1, ddlRegresa1, ddlDistancia1, ddlSitio1, _
                            ddlAprieta1, ddlFijeza1, ddlCabeza1, ddlDefiende1, ddlTomoV1)
                GetVara(iAnimal, 2, ddlRegresa2, ddlDistancia2, ddlSitio2, _
                            ddlAprieta2, ddlFijeza2, ddlCabeza2, ddlDefiende2, ddlTomoV2)
                GetVara(iAnimal, 3, ddlRegresa3, ddlDistancia3, ddlSitio3, _
                            ddlAprieta3, ddlFijeza3, ddlCabeza3, ddlDefiende3, ddlTomoV3)
                GetVara(iAnimal, 4, ddlRegresa4, ddlDistancia4, ddlSitio4, _
                            ddlAprieta4, ddlFijeza4, ddlCabeza4, ddlDefiende4, ddlTomoV4)
                GetVara(iAnimal, 5, ddlRegresa5, ddlDistancia5, ddlSitio5, _
                            ddlAprieta5, ddlFijeza5, ddlCabeza5, ddlDefiende5, ddlTomoV5)
                GetVara(iAnimal, 6, ddlRegresa6, ddlDistancia6, ddlSitio6, _
                            ddlAprieta6, ddlFijeza6, ddlCabeza6, ddlDefiende6, ddlTomoV6)
                GetVara(iAnimal, 7, ddlRegresa7, ddlDistancia7, ddlSitio7, _
                            ddlAprieta7, ddlFijeza7, ddlCabeza7, ddlDefiende7, ddlTomoV7)

                ' Asignacion de la tienta a PIE
                TientaPie = AdapTientaPie.GetTientaPieByAnimal(iAnimal)
                If TientaPie.Count = 1 Then
                    ' -- G E N E R A L E S ---
                    ddlmEmotividad.SelectedValue = TientaPie(0).emotividad.ToString
                    ddlmFijeza.SelectedValue = TientaPie(0).fijeza.ToString
                    ddlmRemata.SelectedValue = TientaPie(0).remata.ToString
                    ddlmDesarrollo.SelectedValue = TientaPie(0).desarrollo.ToString
                    ddlmDistancia.SelectedValue = TientaPie(0).distancia.ToString
                    ddlmProntitud.SelectedValue = TientaPie(0).prontitud.ToString
                    ddlmFuerza.SelectedValue = TientaPie(0).fuerza.ToString
                    ddlmEnrazado.SelectedValue = TientaPie(0).enrazado.ToString
                    ddlmFiereza.SelectedValue = TientaPie(0).fireza.ToString
                    ddlmGalope.SelectedValue = TientaPie(0).galope.ToString
                    ddlmAlegria.SelectedValue = TientaPie(0).alegria.ToString
                    ddlmObediente.SelectedValue = TientaPie(0).obediente.ToString
                    ddlmGazapea.SelectedValue = TientaPie(0).gazapea.ToString
                    ddlmEscarba.SelectedValue = TientaPie(0).escarba.ToString
                    ddlmQuerencia.SelectedValue = TientaPie(0).querencia.ToString
                    ddlmBerrea.SelectedValue = TientaPie(0).berrea.ToString

                    ' -- E N G A Ñ O S ---
                    ddlmRectitud_D.SelectedValue = TientaPie(0).rectitud_der.ToString
                    ddlmRectitud_I.SelectedValue = TientaPie(0).rectitud_izq.ToString
                    ddlmRepite_D.SelectedValue = TientaPie(0).repite_der.ToString
                    ddlmRepite_I.SelectedValue = TientaPie(0).repite_izq.ToString
                    ddlmCabeza_D.SelectedValue = TientaPie(0).pCabeza_D.ToString
                    ddlmCabeza_I.SelectedValue = TientaPie(0).pCabeza_I.ToString
                    ddlmNobleza_D.SelectedValue = TientaPie(0).nobleza_der.ToString
                    ddlmNobleza_I.SelectedValue = TientaPie(0).nobleza_izq.ToString
                    ddlmMano_D.SelectedValue = TientaPie(0).pManos_D.ToString
                    ddlmMano_I.SelectedValue = TientaPie(0).pManos_I.ToString
                    ddlmSon_D.SelectedValue = TientaPie(0).son_der.ToString
                    ddlmSon_I.SelectedValue = TientaPie(0).son_izq.ToString
                    ddlmRecorrido2_D.SelectedValue = TientaPie(0).pRecorrido_D.ToString
                    ddlmRecorrido2_I.SelectedValue = TientaPie(0).pRecorrido_I.ToString()
                    ddlmRepone_D.SelectedValue = TientaPie(0).repone_der.ToString
                    ddlmRepone_I.SelectedValue = TientaPie(0).repone_izq.ToString
                    ddlmFinalizacion_D.SelectedValue = TientaPie(0).pFinalizacion_D.ToString
                    ddlmFinalizacion_I.SelectedValue = TientaPie(0).pFinalizacion_I.ToString
                    ddlmBajaCabeza.SelectedValue = TientaPie(0).bajacabeza.ToString
                    ddlmRajado.SelectedValue = TientaPie(0).rajado.ToString
                    ddlmPases.SelectedValue = TientaPie(0).pases.ToString
                    ddlmCabezas.SelectedValue = TientaPie(0).cabeza.ToString
                End If


            End If
        End If


    End Sub
#End Region
#Region "Grabar en la base de datos"
    Protected Sub btnTienta_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAceptar.Click, btnAceptar1.Click
        ' Genero el dataTable consultado por el numero del animal
        Dim animal = _animal.GetTientaByAnimal(iAnimal)
        If animal.Count = 1 Then
            Dim iActualizado As Integer
            TientaCaballo = AdapTientaCaballo.GetTientaCaballoByAnimal(iAnimal)
            If txtFechaTienta.Text = "" Then
                animal(0).Settienta_fechaNull()
            Else
                animal(0).tienta_fecha = CType(txtFechaTienta.Text, DateTime)
            End If
            animal(0).tienta_torero = ddlTorero.SelectedValue
            animal(0).tienta_picador = ddlPicador.SelectedValue
            animal(0).tienta_plaza = ddlPlaza.SelectedValue
            animal(0).tienta_ac = ddlTienta_Ac.SelectedValue
            animal(0).tienta_ap = ddlTienta_AP.SelectedValue


            iActualizado = _animal.Update(animal)
            grabaTientaCaballo()
            GrabarTientaPie()

            If iActualizado = 1 Then
                lblRespuesta.CssClass = "success"
                lblRespuesta.Text = "REGISTRO ACTUALIZADO"
            End If
        End If


    End Sub
#End Region
#Region "Funciones personalizadas"

    Function PonderarCalificaciones(ByVal categoria As String, ByVal valorInterno As String) As Double
        Dim registro = pondera.FindBycategoriavalor_interno(categoria, valorInterno)
        Return registro.pondera
    End Function

    ''' <summary>
    ''' Asignar los valores de las varas a los diferentes controles
    ''' </summary>
    ''' <param name="animal">Id de Animal</param>
    ''' <param name="numeroVara">Numero de Vara</param>
    ''' <param name="regresa">Control Regresa</param>
    ''' <param name="distancia">Control Distancia</param>
    ''' <param name="sitio"></param>
    ''' <param name="aprieta"></param>
    ''' <param name="fijeza"></param>
    ''' <param name="cabeza"></param>
    ''' <param name="defiende"></param>
    ''' <param name="tomoVara"></param>
    ''' <remarks></remarks>
    Private Sub GetVara(ByVal animal As Integer, ByVal numeroVara As Integer, _
            ByRef regresa As DropDownList, ByRef distancia As DropDownList, ByRef sitio As DropDownList, _
            ByRef aprieta As DropDownList, ByRef fijeza As DropDownList, ByRef cabeza As DropDownList, _
            ByRef defiende As DropDownList, ByRef tomoVara As DropDownList)


        Dim TientaRow As TientaCaballoRow
        TientaRow = TientaCaballo.FindByAnimalIdno_vara(animal, numeroVara)
        If Not IsNothing(TientaRow) Then
            regresa.SelectedValue = TientaRow.regresa.ToString
            distancia.SelectedValue = TientaRow.distancia.ToString
            sitio.SelectedValue = TientaRow.sitio.ToString
            aprieta.SelectedValue = TientaRow.aprieta.ToString
            fijeza.SelectedValue = TientaRow.fijeza.ToString
            cabeza.SelectedValue = TientaRow.cabeza.ToString
            defiende.SelectedValue = TientaRow.defiende.ToString
            tomoVara.SelectedValue = TientaRow.vara.ToString
        End If
        TientaRow = Nothing

    End Sub
    Private Sub setVara(ByVal animal As Integer, ByVal numeroVara As Integer, _
            ByRef regresa As DropDownList, ByRef distancia As DropDownList, ByRef sitio As DropDownList, _
            ByRef aprieta As DropDownList, ByRef fijeza As DropDownList, ByRef cabeza As DropDownList, _
            ByRef defiende As DropDownList, ByRef tomoVara As DropDownList)
        claveAnimal = hdClave.Value
        Dim iRegresa, iDistancia, iSitio, iAprieta, iFijeza, iCabeza, iDefiende, itomoVara As Integer

        iRegresa = CType(regresa.SelectedValue, Integer)
        iDistancia = CType(distancia.SelectedValue, Integer)
        iSitio = CType(sitio.SelectedValue, Integer)
        iAprieta = CType(aprieta.SelectedValue, Integer)
        iFijeza = CType(fijeza.SelectedValue, Integer)
        iCabeza = CType(cabeza.SelectedValue, Integer)
        iDefiende = CType(defiende.SelectedValue, Integer)
        itomoVara = CType(tomoVara.SelectedValue, Integer)

        Dim HayVara As Boolean
        HayVara = Not (iRegresa = 0 And iDistancia = 0 And iSitio = 0 And iAprieta = 0 And iFijeza = 0 And iCabeza = 0 And iDefiende = 0 And itomoVara = 0)

        Dim TientaRow As TientaCaballoRow
        TientaRow = TientaCaballo.FindByAnimalIdno_vara(animal, numeroVara)

        If Not IsNothing(TientaRow) Then ' Existe el registro
            If (HayVara) Then 'Si hay vara actualiza el 
                TientaRow.regresa = iRegresa
                TientaRow.distancia = iDistancia
                TientaRow.sitio = iSitio
                TientaRow.aprieta = iAprieta
                TientaRow.fijeza = iFijeza
                TientaRow.cabeza = iCabeza
                TientaRow.defiende = iDefiende
                TientaRow.vara = itomoVara
                AdapTientaCaballo.Update(TientaRow)
            Else
                AdapTientaCaballo.Delete(animal, numeroVara) '
            End If
        Else
            If (HayVara) Then
                AdapTientaCaballo.Insert(animal, claveAnimal, numeroVara, _
                                        iRegresa, iDistancia, iSitio, iAprieta, _
                                         iFijeza, iCabeza, iDefiende, itomoVara)
            End If
        End If
    End Sub
    Private Sub grabaTientaCaballo()
        ' -- GRABAR : En la tabla Calificacion a Caballo -- 
        setVara(iAnimal, 1, ddlRegresa1, ddlDistancia1, ddlSitio1, _
                            ddlAprieta1, ddlFijeza1, ddlCabeza1, ddlDefiende1, ddlTomoV1)
        setVara(iAnimal, 2, ddlRegresa2, ddlDistancia2, ddlSitio2, _
                            ddlAprieta2, ddlFijeza2, ddlCabeza2, ddlDefiende2, ddlTomoV2)
        setVara(iAnimal, 3, ddlRegresa3, ddlDistancia3, ddlSitio3, _
                           ddlAprieta3, ddlFijeza3, ddlCabeza3, ddlDefiende3, ddlTomoV3)
        setVara(iAnimal, 4, ddlRegresa4, ddlDistancia4, ddlSitio4, _
                           ddlAprieta4, ddlFijeza4, ddlCabeza4, ddlDefiende4, ddlTomoV4)
        setVara(iAnimal, 5, ddlRegresa5, ddlDistancia5, ddlSitio5, _
                           ddlAprieta5, ddlFijeza5, ddlCabeza5, ddlDefiende5, ddlTomoV5)
        setVara(iAnimal, 6, ddlRegresa6, ddlDistancia6, ddlSitio6, _
                           ddlAprieta6, ddlFijeza6, ddlCabeza6, ddlDefiende6, ddlTomoV6)
        setVara(iAnimal, 7, ddlRegresa7, ddlDistancia7, ddlSitio7, _
                           ddlAprieta7, ddlFijeza7, ddlCabeza7, ddlDefiende7, ddlTomoV7)
    End Sub
    Private Sub GrabarTientaPie()

        TientaPie = AdapTientaPie.GetTientaPieByAnimal(iAnimal)

        ' -- Tienta PIE----
        Dim i_emotividad, i_fijeza, i_remata, i_desarrollo, i_distancia, _
       i_prontitud, i_fuerza, i_enrazado, i_fireza, i_galope, i_alegria, _
       i_obediente, i_gazapea, i_escarba, i_querencia, i_berrea, i_rectitud_der, _
       i_rectitud_izq, i_repite_der, i_repite_izq, i_pCabeza_D, i_pCabeza_I, _
       i_recorrido_der, i_recorrido_izq, i_nobleza_der, i_nobleza_izq, i_pManos_D, _
       i_pManos_I, i_humilla_der, i_humilla_izq, i_son_der, i_son_izq, i_pRecorrido_D, _
       i_pRecorrido_I, i_frena_der, i_frena_izq, i_repone_der, i_repone_izq, _
       i_pFinalizacion_D, i_pFinalizacion_I, i_bajacabeza, i_rajado, i_pases, i_cabeza As Integer

        i_emotividad = CType(ddlmEmotividad.SelectedValue, Integer)
        i_fijeza = CType(ddlmFijeza.SelectedValue, Integer)
        i_remata = CType(ddlmRemata.SelectedValue, Integer)
        i_desarrollo = CType(ddlmDesarrollo.SelectedValue, Integer)
        i_distancia = CType(ddlmDistancia.SelectedValue, Integer)
        i_prontitud = CType(ddlmProntitud.SelectedValue, Integer)
        i_fuerza = CType(ddlmFuerza.SelectedValue, Integer)
        i_enrazado = CType(ddlmEnrazado.SelectedValue, Integer)
        i_fireza = CType(ddlmFiereza.SelectedValue, Integer)
        i_galope = CType(ddlmGalope.SelectedValue, Integer)
        i_alegria = CType(ddlmAlegria.SelectedValue, Integer)
        i_obediente = CType(ddlmObediente.SelectedValue, Integer)
        i_gazapea = CType(ddlmGazapea.SelectedValue, Integer)
        i_escarba = CType(ddlmEscarba.SelectedValue, Integer)
        i_querencia = CType(ddlmQuerencia.SelectedValue, Integer)
        i_berrea = CType(ddlmBerrea.SelectedValue, Integer)
        i_rectitud_der = CType(ddlmRectitud_D.SelectedValue, Integer)
        i_rectitud_izq = CType(ddlmRectitud_I.SelectedValue, Integer)
        i_repite_der = CType(ddlmRepite_D.SelectedValue, Integer)
        i_repite_izq = CType(ddlmRepite_I.SelectedValue, Integer)
        i_pCabeza_D = CType(ddlmCabeza_D.SelectedValue, Integer)
        i_pCabeza_I = CType(ddlmCabeza_I.SelectedValue, Integer)
        'i_recorrido_der = CType(ddlmRecorrido_D.SelectedValue, Integer)
        'i_recorrido_izq = CType(ddlmRecorrido_I.SelectedValue, Integer)
        i_nobleza_der = CType(ddlmNobleza_D.SelectedValue, Integer)
        i_nobleza_izq = CType(ddlmNobleza_I.SelectedValue, Integer)
        i_pManos_D = CType(ddlmMano_D.SelectedValue, Integer)
        i_pManos_I = CType(ddlmMano_I.SelectedValue, Integer)
        'i_humilla_der = CType(ddlmHumildad_D.SelectedValue, Integer)
        'i_humilla_izq = CType(ddlmHumildad_I.SelectedValue, Integer)
        i_son_der = CType(ddlmSon_D.SelectedValue, Integer)
        i_son_izq = CType(ddlmSon_I.SelectedValue, Integer)
        i_pRecorrido_D = CType(ddlmRecorrido2_D.SelectedValue, Integer)
        i_pRecorrido_I = CType(ddlmRecorrido2_I.SelectedValue, Integer)
        'i_frena_der = CType(ddlmFrena_D.SelectedValue, Integer)
        'i_frena_izq = CType(ddlmFrena_I.SelectedValue, Integer)
        i_repone_der = CType(ddlmRepone_D.SelectedValue, Integer)
        i_repone_izq = CType(ddlmRepone_I.SelectedValue, Integer)
        i_pFinalizacion_D = CType(ddlmFinalizacion_D.SelectedValue, Integer)
        i_pFinalizacion_I = CType(ddlmFinalizacion_I.SelectedValue, Integer)
        i_bajacabeza = CType(ddlmBajaCabeza.SelectedValue, Integer)
        i_rajado = CType(ddlmRajado.SelectedValue, Integer)
        i_pases = CType(ddlmPases.SelectedValue, Integer)
        i_cabeza = CType(ddlmCabezas.SelectedValue, Integer)
        If TientaPie.Count = 1 Then
            TientaPie(0).emotividad = i_emotividad
            TientaPie(0).fijeza = i_fijeza
            TientaPie(0).remata = i_remata
            TientaPie(0).desarrollo = i_desarrollo
            TientaPie(0).distancia = i_distancia
            TientaPie(0).prontitud = i_prontitud
            TientaPie(0).fuerza = i_fuerza
            TientaPie(0).enrazado = i_enrazado
            TientaPie(0).fireza = i_fireza
            TientaPie(0).galope = i_galope
            TientaPie(0).alegria = i_alegria
            TientaPie(0).obediente = i_obediente
            TientaPie(0).gazapea = i_gazapea
            TientaPie(0).escarba = i_escarba
            TientaPie(0).querencia = i_querencia
            TientaPie(0).berrea = i_berrea
            TientaPie(0).rectitud_der = i_rectitud_der
            TientaPie(0).rectitud_izq = i_rectitud_izq
            TientaPie(0).repite_der = i_repite_der
            TientaPie(0).repite_izq = i_repite_izq
            TientaPie(0).pCabeza_D = i_pCabeza_D
            TientaPie(0).pCabeza_I = i_pCabeza_I
            TientaPie(0).recorrido_der = i_recorrido_der
            TientaPie(0).recorrido_izq = i_recorrido_izq
            TientaPie(0).nobleza_der = i_nobleza_der
            TientaPie(0).nobleza_izq = i_nobleza_izq
            TientaPie(0).pManos_D = i_pManos_D
            TientaPie(0).pManos_I = i_pManos_I
            TientaPie(0).humilla_der = i_humilla_der
            TientaPie(0).humilla_izq = i_humilla_izq
            TientaPie(0).son_der = i_son_der
            TientaPie(0).son_izq = i_son_izq
            TientaPie(0).pRecorrido_D = i_pRecorrido_D
            TientaPie(0).pRecorrido_I = i_pRecorrido_I
            TientaPie(0).frena_der = i_frena_der
            TientaPie(0).frena_izq = i_frena_izq
            TientaPie(0).repone_der = i_repone_der
            TientaPie(0).repone_izq = i_repone_izq
            TientaPie(0).pFinalizacion_D = i_pFinalizacion_D
            TientaPie(0).pFinalizacion_I = i_pFinalizacion_I
            TientaPie(0).bajacabeza = i_bajacabeza
            TientaPie(0).rajado = i_rajado
            TientaPie(0).pases = i_pases
            TientaPie(0).cabeza = i_cabeza
        Else
            Dim tientaPierow As TientaPieRow = TientaPie.NewTientaPieRow
            tientaPierow.animalId = iAnimal
            tientaPierow.keys = hdClave.Value
            tientaPierow.emotividad = i_emotividad
            tientaPierow.fijeza = i_fijeza
            tientaPierow.remata = i_remata
            tientaPierow.desarrollo = i_desarrollo
            tientaPierow.distancia = i_distancia
            tientaPierow.prontitud = i_prontitud
            tientaPierow.fuerza = i_fuerza
            tientaPierow.enrazado = i_enrazado
            tientaPierow.fireza = i_fireza
            tientaPierow.galope = i_galope
            tientaPierow.alegria = i_alegria
            tientaPierow.obediente = i_obediente
            tientaPierow.gazapea = i_gazapea
            tientaPierow.escarba = i_escarba
            tientaPierow.querencia = i_querencia
            tientaPierow.berrea = i_berrea
            tientaPierow.rectitud_der = i_rectitud_der
            tientaPierow.rectitud_izq = i_rectitud_izq
            tientaPierow.repite_der = i_repite_der
            tientaPierow.repite_izq = i_repite_izq
            tientaPierow.pCabeza_D = i_pCabeza_D
            tientaPierow.pCabeza_I = i_pCabeza_I
            tientaPierow.recorrido_der = i_recorrido_der
            tientaPierow.recorrido_izq = i_recorrido_izq
            tientaPierow.nobleza_der = i_nobleza_der
            tientaPierow.nobleza_izq = i_nobleza_izq
            tientaPierow.pManos_D = i_pManos_D
            tientaPierow.pManos_I = i_pManos_I
            tientaPierow.humilla_der = i_humilla_der
            tientaPierow.humilla_izq = i_humilla_izq
            tientaPierow.son_der = i_son_der
            tientaPierow.son_izq = i_son_izq
            tientaPierow.pRecorrido_D = i_pRecorrido_D
            tientaPierow.pRecorrido_I = i_pRecorrido_I
            tientaPierow.frena_der = i_frena_der
            tientaPierow.frena_izq = i_frena_izq
            tientaPierow.repone_der = i_repone_der
            tientaPierow.repone_izq = i_repone_izq
            tientaPierow.pFinalizacion_D = i_pFinalizacion_D
            tientaPierow.pFinalizacion_I = i_pFinalizacion_I
            tientaPierow.bajacabeza = i_bajacabeza
            tientaPierow.rajado = i_rajado
            tientaPierow.pases = i_pases
            tientaPierow.cabeza = i_cabeza
            TientaPie.AddTientaPieRow(tientaPierow)
        End If
        AdapTientaPie.Update(TientaPie)
    End Sub
#End Region


    Protected Sub btnCancelar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnCancelar.Click, btnCacelar1.Click
        Response.Redirect("~/registro/buscar.aspx")
    End Sub
#Region "Calculo de Tientas"
    Protected Sub imgCalTientaAC_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles imgCalTientaAC.Click

        ' Obten el numero del animal a trabajar
        Try
            iAnimal = CType(Request.QueryString("animal"), Integer)
        Catch ex As Exception
            Exit Sub
        End Try

        Animal = _animal.GetTientaByAnimal(iAnimal)


        If Animal.Count = 1 Then
            ' Tengo animal y verificamos si existen varas
            TientaCaballo = AdapTientaCaballo.GetTientaCaballoByAnimal(iAnimal)
            grabaTientaCaballo()
            TientaCaballo = AdapTientaCaballo.GetTientaCaballoByAnimal(iAnimal)
            If TientaCaballo.Count > 0 Then
                Dim noVaras As Integer
                Dim nCalif, nCalBasica, nFr, nFd, nFtv, nFde, nFv As Double
                Dim nAprieta, nFijeza, nSitio, nCabeza, nRegresa, nDistancia, nVara, nDefiende As Double
                For Each Row In TientaCaballo
                    nAprieta = PonderarCalificaciones("APRIETA", Row.aprieta.ToString)
                    nFijeza = PonderarCalificaciones("FIJEZA", Row.fijeza.ToString)
                    nSitio = PonderarCalificaciones("SITIO", Row.sitio.ToString)
                    nCabeza = PonderarCalificaciones("CABEZA", Row.cabeza.ToString)
                    ' *** SUMA DE CALIFICACIONES *** 
                    nCalBasica += nAprieta + nFijeza + nSitio + nCabeza
                    ' ** FACTOR REGRESA (nFr) ** 
                    nRegresa = PonderarCalificaciones("REGRESA", Row.regresa.ToString)
                    nFr += nRegresa
                    ' *** FACTOR DISTANCIA (nFd) ***
                    nDistancia = PonderarCalificaciones("DISTANCIA", Row.distancia.ToString)
                    nFd += nDistancia
                    ' *** FACTOR TOMO VARA (nFtv)***
                    nVara = PonderarCalificaciones("VARA", Row.vara.ToString)
                    nFtv += nVara
                    ' *** FACTOR DEFIENDE (nFde) ***
                    nDefiende = PonderarCalificaciones("DEFIENDE", Row.defiende.ToString)
                    nFde += nDefiende

                    noVaras += 1
                Next
                ' Calificacion basica Promedio
                nCalBasica = nCalBasica / noVaras
                lblCalculoTienta.Text = "Calificacion Basica:" & nCalBasica.ToString & "<br \>"

                ' *** Factor Varas (nFv) ***
                nFv = 0.05 * (noVaras - 4)
                lblCalculoTienta.Text += "Factor Vara(Fv): " & nFv.ToString & "<br \>"

                ' *** Factor Regresa (nFr) ***
                nFr = nFr / noVaras
                lblCalculoTienta.Text += "Factor Regresa(Fr): " & nFr.ToString & "<br \>"

                ' *** Factor Distancia (nFd) ***
                nFd = nFd / noVaras
                lblCalculoTienta.Text += "Factor Distancia(Fd): " & nFd.ToString & "<br \>"

                ' *** Factor Tomo Vara (nFtv)
                nFtv = nFtv / noVaras
                lblCalculoTienta.Text += "Factor Calidad Tomo Vara(Fcv):" & nFtv.ToString & "<br \>"

                ' *** Factor Defiende (nFde)
                nFde = nFde / noVaras
                lblCalculoTienta.Text += "Factor Pelea(Fp): " & nFde.ToString & "<br \>"

                ' *** CALIFICACION FINAL ****
                nCalif = nCalBasica * (1 + (nFv + nFr + nFd)) * nFtv * nFde

                lblRespuesta.Text = nCalif.ToString



                Animal = _animal.GetTientaByAnimal(iAnimal) ' Actualizar valores de tienta calculado
                If nCalif > 9 Then
                    txtTientaACCal.Text = "S"
                    Animal(0).tienta_acCal = "S"
                Else
                    txtTientaACCal.Text = ponderaciones.NOTAAC("NOTAAC", nCalif)
                    Animal(0).tienta_acCal = ponderaciones.NOTAAC("NOTAAC", nCalif)
                End If

                Try
                    _animal.Update(Animal)
                Catch ex As Exception
                    Exit Sub
                End Try

            Else
                lblRespuesta.Text = "No existe valores a calcular"
                lblRespuesta.CssClass = "error"
            End If
        End If
    End Sub
    Protected Sub imgCalTientaAP_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles imgCalTientaAP.Click
        ' Obten el numero del animal a trabajar
        Try
            iAnimal = CType(Request.QueryString("animal"), Integer)
        Catch ex As Exception
            Exit Sub
        End Try

        Animal = _animal.GetTientaByAnimal(iAnimal)

        If Animal.Count = 1 Then

            GrabarTientaPie()
            Dim dClase, dNobleza, dRaza, dEmotividad, dTientaPie As Double

            ' ************* CLASE ********
            dClase = (PonderarCalificaciones("mSon_D", TientaPie(0).son_der) + PonderarCalificaciones("mSon_I", TientaPie(0).son_izq)) / 2 * 2
            dClase += (PonderarCalificaciones("pCabeza", TientaPie(0).pCabeza_D) + PonderarCalificaciones("pCabeza", TientaPie(0).pCabeza_I)) / 2 * 3
            dClase += PonderarCalificaciones("mPases", TientaPie(0).pases) * 2
            dClase += (PonderarCalificaciones("mRepone_D", TientaPie(0).repone_der) + PonderarCalificaciones("mRepone_I", TientaPie(0).repone_izq)) / 2 * -2
            dClase += PonderarCalificaciones("mGazapea", TientaPie(0).gazapea) * -3
            dClase += (PonderarCalificaciones("pManos", TientaPie(0).pManos_D) + PonderarCalificaciones("pManos", TientaPie(0).pManos_I)) / 2 * 4
            dClase += (PonderarCalificaciones("pFinalizacion", TientaPie(0).pFinalizacion_D) + PonderarCalificaciones("pFinalizacion", TientaPie(0).pFinalizacion_I)) / 2 * 4

            ' ************* NOBLEZA ********
            dNobleza = (PonderarCalificaciones("mNobleza_D", TientaPie(0).nobleza_der) + PonderarCalificaciones("mNobleza_I", TientaPie(0).son_izq)) / 2 * 3
            dNobleza += PonderarCalificaciones("mObediente", TientaPie(0).obediente) * 3
            dNobleza += PonderarCalificaciones("mCabeza", TientaPie(0).cabeza) * 2
            dNobleza += (PonderarCalificaciones("mRectitud_D", TientaPie(0).rectitud_der) + PonderarCalificaciones("mRectitud_I", TientaPie(0).rectitud_izq)) / 2 * 3
            dNobleza += (PonderarCalificaciones("mRepone_D", TientaPie(0).repone_der) + PonderarCalificaciones("mRepone_I", TientaPie(0).repone_izq)) / 2 * -3

            ' ************* RAZA ********
            dRaza = PonderarCalificaciones("mEnrazado", TientaPie(0).enrazado) * 3
            dRaza += PonderarCalificaciones("mFiereza", TientaPie(0).fireza) * 3
            dRaza += PonderarCalificaciones("mDistancia", TientaPie(0).distancia) * 3
            dRaza += PonderarCalificaciones("mProntitud", TientaPie(0).prontitud) * 3
            dRaza += PonderarCalificaciones("mFijeza", TientaPie(0).fijeza) * 3
            dRaza += PonderarCalificaciones("mRemata", TientaPie(0).remata) * 2
            dRaza += PonderarCalificaciones("mGalope", TientaPie(0).galope) * 3
            dRaza += (PonderarCalificaciones("mRepite_D", TientaPie(0).repite_der) + PonderarCalificaciones("mRepite_I", TientaPie(0).repite_izq)) / 2 * 3
            dRaza += PonderarCalificaciones("mEscarba", TientaPie(0).escarba) * -2
            dRaza += PonderarCalificaciones("mBerrea", TientaPie(0).berrea) * -2
            dRaza += PonderarCalificaciones("mBajaCabeza", TientaPie(0).bajacabeza) * -3 ' Actualmente se denomina "PRUEBA"
            dRaza += PonderarCalificaciones("mQuerencia", TientaPie(0).querencia) * -4
            dRaza += PonderarCalificaciones("mRajado", TientaPie(0).rajado) * -4


            ' ************* EMOTIVIDAD ********
            dEmotividad = PonderarCalificaciones("mEmotividad", TientaPie(0).emotividad) * 3
            dEmotividad += PonderarCalificaciones("mAlegria", TientaPie(0).alegria) * 3
            dEmotividad += (PonderarCalificaciones("mSon_D", TientaPie(0).son_der) + PonderarCalificaciones("mSon_I", TientaPie(0).son_izq)) / 2 * 3
            dEmotividad += PonderarCalificaciones("mDistancia", TientaPie(0).distancia) * 2
            dEmotividad += PonderarCalificaciones("mProntitud", TientaPie(0).prontitud) * 3
            dEmotividad += PonderarCalificaciones("mGalope", TientaPie(0).galope) * 3
            dEmotividad += PonderarCalificaciones("mEnrazado", TientaPie(0).enrazado) * 3


            ' Realiza los calculos con las ponderaciones asignadas
            dClase = ((dClase + 7) / 20) * 9
            dNobleza = ((dNobleza + 5) / 16) * 9
            dRaza = ((dRaza + 15) / 41) * 9
            dEmotividad = dEmotividad / 20 * 9

            dTientaPie = (0.25 * (dClase + dNobleza)) + (0.4 * dRaza) + (0.1 * dEmotividad)

            '' Asigna a controles
            'txtClase.Text = ponderaciones.NOTAAC("CLASE", dClase)
            'txtNobleza.Text = ponderaciones.NOTAAC("NOBLEZA", dNobleza)
            'txtRaza.Text = ponderaciones.NOTAAC("RAZA", dRaza)
            'txtEmotividad.Text = ponderaciones.NOTAAC("EMOTIVIDAD", dEmotividad)
            'txtTientaAPCal.Text = ponderaciones.NOTAAC("NOTAAP", dTientaPie)

            ' Asigna a controles
            ' ********* CLASE *******
            If dClase > 9 Then
                txtClase.Text = "S"
                Animal(0).clase = "S"
            Else
                txtClase.Text = ponderaciones.NOTAAC("CLASE", dClase)
                Animal(0).clase = ponderaciones.NOTAAC("CLASE", dClase)
            End If
            ' ********** NOBLEZA *********
            If dNobleza > 9 Then
                txtNobleza.Text = "S"
                Animal(0).nobleza = "S"
            Else
                txtNobleza.Text = ponderaciones.NOTAAC("NOBLEZA", dNobleza)
                Animal(0).nobleza = ponderaciones.NOTAAC("NOBLEZA", dNobleza)
            End If
            ' *********** RAZA ******
            If dRaza > 9 Then
                txtRaza.Text = "S"
                Animal(0).raza = "S"
            Else
                txtRaza.Text = ponderaciones.NOTAAC("RAZA", dRaza)
                Animal(0).raza = ponderaciones.NOTAAC("RAZA", dRaza)
            End If
            ' *********EMOTIVIDAD *********
            If dEmotividad > 9 Then
                txtEmotividad.Text = "S"
                Animal(0).emotividad = "S"
            Else
                txtEmotividad.Text = ponderaciones.NOTAAC("EMOTIVIDAD", dEmotividad)
                Animal(0).emotividad = ponderaciones.NOTAAC("EMOTIVIDAD", dEmotividad)
            End If
            ' *********** Tienta AP *******
            If dTientaPie > 9 Then
                txtTientaAPCal.Text = "S"
                Animal(0).tienta_apCal = "S"
            Else
                txtTientaAPCal.Text = ponderaciones.NOTAAC("NOTAAP", dTientaPie)
                Animal(0).tienta_apCal = ponderaciones.NOTAAC("NOTAAP", dTientaPie)
            End If

            Try
                _animal.Update(Animal)
            Catch ex As Exception
                lblRespuesta.Text = e.ToString
                Exit Sub
            End Try

            ' Imprime resultados 
            lblCalculoTienta.Text = "CLASE: " & dClase.ToString & "<br>" + _
                                    "NOBLEZA: " & dNobleza.ToString & "<br>" + _
                                    "RAZA: " & dRaza.ToString & "<br>" + _
                                    "EMOTIVIDAD: " & dEmotividad.ToString & "<br>" + _
                                    "<b>TIENTA PIE:</b> " & dTientaPie.ToString

        End If






    End Sub
#End Region

End Class
